import { Buffer } from 'buffer'

// // 创建一个长度为 10、且用 0 填充的 Buffer。
// const buf1 = Buffer.alloc(10)
// console.log(buf1)

// // 创建一个长度为 10、且用 1 填充的 Buffer。
// const buf2 = Buffer.alloc(10, 1)
// console.log(buf2)

// // 创建一个长度为 10、且未初始化的 Buffer。
// // 这比调用 Buffer.alloc() 更快，但返回的 Buffer 实例可能包含旧数据，
// // 需要使用 fill()、write() 或其他填充 Buffer 内容的函数进行覆盖。
// const buf3 = Buffer.allocUnsafe(10)
// console.log(buf3)

// // 创建一个包含字节 [1, 2, 3] 的 Buffer。
// const buf4 = Buffer.from([1, 2, 3])
// console.log(buf4)

// // 创建一个包含字节 [1, 1, 1, 1] 的 Buffer。 这些条目都使用 `(value & 255)` 截断以适应范围 0-255。
// const buf5 = Buffer.from([257, 257.5, -255, '1'])
// console.log(buf5)

// // 创建一个包含字符串 'tést' 的 UTF-8 编码字节的 Buffer：
// // [0x74, 0xc3, 0xa9, 0x73, 0x74] (十六进制表示)
// // [116, 195, 169, 115, 116] (十进制表示)
// const buf6 = Buffer.from('tést')
// console.log(buf6)

// // 创建一个包含字符串 'tést' 的 latin1 编码字节的 Buffer：
// // [0x74, 0xe9, 0x73, 0x74] (十六进制表示)
// const buf7 = Buffer.from('tést', 'latin1')
// console.log(buf7)

// const buf8 = Buffer.from('hello world', 'utf8')
// // 转换为十六进制
// console.log(buf8, buf8.toString('hex'), buf8.toString('base64'))

// const buf = Buffer.from([1, 2, 3, 4])

// const uint32array = new Uint32Array(buf)

// console.log(uint32array) // Uint32Array(4) [ 1, 2, 3, 4 ]

// const buf = Buffer.from('hello', 'utf16le')

// const unit16array = new Uint16Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint16Array.BYTES_PER_ELEMENT)

// console.log(unit16array)

// const arr = new Uint16Array(2)
// arr[0] = 5000
// arr[1] = 4000
// console.log(arr)

// 复制一个 buf 副本 arr变化 buf1不会变化
// const buf1 = Buffer.from(arr)
// console.log(buf1)

// 共享内存 arr变化 buf2也会变化
// const buf2 = Buffer.from(arr.buffer)
// console.log(buf2)

// arr[1] = 6000
// console.log(arr)
// console.log(buf1)
// console.log(buf2)
